The cluster system has been conventionally used as:
(a) means adapted to construct a large-scale device which provides a single function; and
(b) means adapted to construct a device with high availability.
In general, a cluster system includes a plurality of apparatuses (i.e. cluster members) capable of realizing a predetermined function even if each of them is used as a single apparatus, and an additional mechanism to make each of the cluster members to cooperate.
[Cluster System Using Load Balancer]
Although various methods are known to constitute a cluster system, a configuration in which a load balancer is placed in the boundary with another system has been used in a relatively wide. FIG. 30 shows a configuration of a cluster system 1 using a load balancer. The cluster system 1 is provided with a plurality of cluster members 11-1 to 11-n and a load balancer 12. IP packets (i.e. communication data) transmitted from nodes 31 to 3m via a network 2 are distributed to the cluster members 11-1 to 11-n by the load balancer 12.
The cluster system 1 shown in FIG. 30 has an advantage in that events such as an apparatus configuration in a rear stage and a failover can be concealed to other systems by using the load balancer 12 and control of a load balance can be easily carried out. On the other hand, the system has a possibility that the load balancer 12 becomes a bottleneck. If the load balancer 12 is made redundant to prevent the load balancer 12 from becoming a single-point failure, the configuration becomes complicated.
[Cluster System in Broadcast Dispatch System]
In order to solve the above drawbacks, a cluster system is proposed in which the load balancer is not provided (i.e. broadcast dispatch system) (e.g. to be referred to Japanese Patent Application Publication (JP-P2003-517221A).
FIG. 31 is a block diagram showing a configuration example of a cluster system 1a in the broadcast dispatch system. The cluster system 1a includes n cluster members 13-1 to 13n. Each of the cluster members 13-1 to 13-n is connected in parallel to a data link 4 which can broadcast data. The cluster members 13-1 to 13-n are provided with distributing filters 14-1 to 14-n, respectively.
IP packets transmitted from other nodes 31 to 31m to the cluster system 1a are broadcasted to the cluster members 13-1 to 13-n via the data link 4. Each of the cluster members 13-1 to 13-n calculates a hash value of the IP packet broadcasted by the distributing filters 14-1 to 14-n (e.g. hash value to a transmission source address included in a header section), and executes a receiving process to the received IP packet only if the calculated hash value is equal to a corresponding hash value allocated to its own cluster member. The IP packets transmitted from the other nodes 31 to 31m are broadcasted to all the cluster members 13-1 to 13-n in the cluster system 1a of the broadcast dispatch system. Each of the cluster members 13-1 to 13-n processes only an IP packet corresponding to a hash value allocated to its own cluster member. Thus, load balance is realized.
Furthermore, if an identical hash value is allocated to two or more cluster members in the cluster system of the broadcast dispatch system, the identical IP packet is processed by the cluster members redundantly. Accordingly, a communication redundancy process can be carried out without explicitly making a copy of a state. Thus, it is made possible to enhance scalability and availability.
Meanwhile, the cluster system of the broadcast dispatch system has been developed for apparatuses such as a router to relay a packet. These apparatuses are characterized in that a process to the packet remains in a relatively low protocol layer, and many of the apparatuses can relay the packet at high speed in a relatively simple process since a process in an application layer to the packet is not executed.
FIG. 32 is a block diagram showing a configuration example of the cluster member 13-1 shown in FIG. 31, and FIGS. 33A and 33B are provided to describe an operation of the cluster system 1a shown in FIG. 31.
Referring to FIG. 32, the cluster member 13-1 is provided with a reception interface 141 and a transmission interface 142 which are connected to the data link 4 for communication with an adjacent node, protocol processing section 121, 122, . . . , and 12k for processing and transferring a packet, two packet filters of a reception side distributing filter 131 and a transmission side distributing filter 132, and a filter control section 133 for setting the filters 131 and 132.
Each of the filters 131 and 132 calculates an integer value from a packet header by using a hash function and allows the packet to pass therethrough only when an integer value allocated to the filter 131 or 132 by the filter control section 133 is equal to the integer value obtained from the calculation result. In the examples shown in FIGS. 33A and 33B, four cluster members are provided to use four kinds of hash values 1 to 4, for simplification.
If an identical hash value is set to the reception side distributing filters of different cluster members by using this mechanism, an identical packet is processed redundantly in these cluster members. Traffic corresponding to the hash value is therefore processed redundantly. The hash value is set to the transmission side distributing filter in only one of the above cluster members in order to prevent an identical packet from being transmitted to the outside of the system. For example, in the example of FIG. 33A, it would be understood that traffic corresponding to a hash value 2 is processed redundantly by the cluster member on the left end and the cluster member on the right side, to duplicate a flow state.
Moreover, if sets of values in a value range of a hash function are allocated to the reception side distributing filters such that the cluster members deal with them without any gap and duplication, a load balance of the traffic can be realized. For example, the configurations of FIGS. 33A and 33B are same and cluster members are switched depending on a hash value calculated from a process target packet to realize the load balance. These cluster members are used in combination to realize a broadcast router cluster.
Other related techniques are exemplified as following. Japanese Patent Application Publication (JP-P2000-83045A) discloses a route control technique that provides a technique to constitute a router with high extension ability corresponding to the needs of increase in lines of a router due to enlargement of a network in size. Japanese Patent Application Publication (JP-A-Heisei 3-36853) discloses a call control method in an ISDN terminal apparatus and an ISDN terminal in which a software configuration in an application section is simplified and a call control for call origination and call arrival are made possible in high performance. Japanese Patent Application Publication (JP-A-Heisei 7-87536) discloses a virtual line concentration system in a switch. In this system, a control function for a subscriber line concentrator which is disposed within the same switch or outside of the switch is concealed in a common function so as for a call control application not to be conscious of presence or absence of a line concentration function.